	.arch armv8-a
	.arch_extension crc
	.arm
	.data
	.global a
	.align 4
	.size a, 4
a:
	.word 0
	.global b
	.align 4
	.size b, 4
b:
	.word 0
	.global d
	.align 4
	.size d, 4
d:
	.word 0
	.text
	.global set_a
	.type set_a , %function
set_a:
	push {r4, r5, fp, lr}
	mov fp, sp
	sub sp, sp, #4
.L111:
	str r0, [fp, #-4]
	ldr r4, [fp, #-4]
	ldr r5, addr_a0
	str r4, [r5]
	ldr r4, addr_a0
	ldr r5, [r4]
	mov r0, r5
	add sp, sp, #4
	pop {r4, r5, fp, lr}
	bx lr

	.global set_b
	.type set_b , %function
set_b:
	push {r4, r5, fp, lr}
	mov fp, sp
	sub sp, sp, #4
.L115:
	str r0, [fp, #-4]
	ldr r4, [fp, #-4]
	ldr r5, addr_b0
	str r4, [r5]
	ldr r4, addr_b0
	ldr r5, [r4]
	mov r0, r5
	add sp, sp, #4
	pop {r4, r5, fp, lr}
	bx lr

	.global set_d
	.type set_d , %function
set_d:
	push {r4, r5, fp, lr}
	mov fp, sp
	sub sp, sp, #4
.L119:
	str r0, [fp, #-4]
	ldr r4, [fp, #-4]
	ldr r5, addr_d0
	str r4, [r5]
	ldr r4, addr_d0
	ldr r5, [r4]
	mov r0, r5
	add sp, sp, #4
	pop {r4, r5, fp, lr}
	bx lr

	.global main
	.type main , %function
main:
	push {r4, r5, r6, r7, fp, lr}
	mov fp, sp
	sub sp, sp, #24
.L123:
	ldr r4, =2
	ldr r5, addr_a0
	str r4, [r5]
	ldr r4, =3
	ldr r5, addr_b0
	str r4, [r5]
	mov r0, #0
	bl set_a
	mov r4, r0
	cmp r4, #0
	bne .L126
	b .L130
.L124:
	b .L125
.L125:
	ldr r4, addr_a0
	ldr r5, [r4]
	mov r0, r5
	bl putint
	mov r0, #32
	bl putch
	ldr r4, addr_b0
	ldr r5, [r4]
	mov r0, r5
	bl putint
	mov r0, #32
	bl putch
	ldr r4, =2
	ldr r5, addr_a0
	str r4, [r5]
	ldr r4, =3
	ldr r5, addr_b0
	str r4, [r5]
	mov r0, #0
	bl set_a
	mov r4, r0
	cmp r4, #0
	bne .L143
	b .L147
.L126:
	mov r0, #1
	bl set_b
	mov r4, r0
	cmp r4, #0
	bne .L124
	b .L134
.L128:
.L129:
.L130:
	b .L125
.L132:
.L133:
.L134:
	b .L125
.L141:
	b .L142
.L142:
	ldr r4, addr_a0
	ldr r5, [r4]
	mov r0, r5
	bl putint
	mov r0, #32
	bl putch
	ldr r4, addr_b0
	ldr r5, [r4]
	mov r0, r5
	bl putint
	mov r0, #10
	bl putch
	ldr r4, =1
	str r4, [fp, #-24]
	ldr r4, =2
	ldr r5, addr_d0
	str r4, [r5]
	ldr r4, [fp, #-24]
	cmp r4, #1
	movge r4, #1
	movlt r4, #0
	bge .L161
	b .L165
.L143:
	mov r0, #1
	bl set_b
	mov r4, r0
	cmp r4, #0
	bne .L141
	b .L151
.L145:
.L146:
.L147:
	b .L142
.L149:
.L150:
.L151:
	b .L142
.L159:
	b .L160
.L160:
	ldr r4, addr_d0
	ldr r5, [r4]
	mov r0, r5
	bl putint
	mov r0, #32
	bl putch
	ldr r4, [fp, #-24]
	cmp r4, #1
	movle r4, #1
	movgt r4, #0
	ble .L173
	b .L179
.L161:
	mov r0, #3
	bl set_d
	mov r4, r0
	cmp r4, #0
	bne .L159
	b .L169
.L163:
.L164:
.L165:
	b .L160
.L167:
.L168:
.L169:
	b .L160
.L173:
	b .L174
.L174:
	ldr r4, addr_d0
	ldr r5, [r4]
	mov r0, r5
	bl putint
	mov r0, #10
	bl putch
	ldr r4, =2
	ldr r5, =1
	add r6, r4, r5
	ldr r4, =3
	sub r5, r4, r6
	ldr r4, =16
	cmp r4, r5
	movge r4, #1
	movlt r4, #0
	bge .L187
	b .L191
.L175:
	mov r0, #4
	bl set_d
	mov r4, r0
	cmp r4, #0
	bne .L173
	b .L183
.L177:
.L178:
.L179:
	b .L175
.L181:
.L182:
.L183:
	b .L174
.L187:
	mov r0, #65
	bl putch
	b .L188
.L188:
	ldr r4, =25
	ldr r5, =7
	sub r6, r4, r5
	ldr r4, =6
	ldr r5, =3
	mul r7, r4, r5
	ldr r4, =36
	sub r5, r4, r7
	cmp r6, r5
	bne .L193
	b .L197
.L189:
.L190:
.L191:
	b .L188
.L193:
	mov r0, #66
	bl putch
	b .L194
.L194:
	ldr r4, =1
	cmp r4, #8
	movlt r4, #1
	movge r4, #0
	ldr r5, =7
	ldr r6, =2
	sdiv r7, r5, r6
	mul r6, r7, r6
	sub r7, r5, r6
	mov r5, r4
	cmp r5, r7
	bne .L199
	b .L205
.L195:
.L196:
.L197:
	b .L194
.L199:
	mov r0, #67
	bl putch
	b .L200
.L200:
	ldr r4, =3
	cmp r4, #4
	movgt r4, #1
	movle r4, #0
	mov r5, r4
	cmp r5, #0
	beq .L207
	b .L213
.L203:
.L204:
.L205:
	b .L200
.L207:
	mov r0, #68
	bl putch
	b .L208
.L208:
	ldr r4, =102
	cmp r4, #63
	movle r4, #1
	movgt r4, #0
	mov r5, r4
	ldr r4, =1
	cmp r4, r5
	beq .L215
	b .L221
.L211:
.L212:
.L213:
	b .L208
.L215:
	mov r0, #69
	bl putch
	b .L216
.L216:
	ldr r4, =5
	ldr r5, =6
	sub r6, r4, r5
	ldr r4, =0
	cmp r4, #0
	moveq r4, #1
	movne r4, #0
	mov r5, r4
	ldr r4, =0
	sub r7, r4, r5
	cmp r6, r7
	beq .L223
	b .L231
.L219:
.L220:
.L221:
	b .L216
.L223:
	mov r0, #70
	bl putch
	b .L224
.L224:
	mov r0, #10
	bl putch
	ldr r4, =0
	str r4, [fp, #-20]
	ldr r4, =1
	str r4, [fp, #-16]
	ldr r4, =2
	str r4, [fp, #-12]
	ldr r4, =3
	str r4, [fp, #-8]
	ldr r4, =4
	str r4, [fp, #-4]
	b .L239
.L229:
.L230:
.L231:
	b .L224
.L239:
	ldr r4, [fp, #-20]
	cmp r4, #0
	bne .L242
	b .L246
.L240:
	mov r0, #32
	bl putch
	b .L239
.L241:
	ldr r4, [fp, #-20]
	cmp r4, #0
	bne .L252
	b .L258
.L242:
	ldr r4, [fp, #-16]
	cmp r4, #0
	bne .L240
	b .L250
.L244:
.L245:
.L246:
	b .L241
.L248:
.L249:
.L250:
	b .L241
.L252:
	mov r0, #67
	bl putch
	b .L253
.L253:
	ldr r4, [fp, #-20]
	ldr r5, [fp, #-16]
	cmp r4, r5
	movge r4, #1
	movlt r4, #0
	bge .L264
	b .L271
.L254:
	ldr r4, [fp, #-16]
	cmp r4, #0
	bne .L252
	b .L262
.L256:
.L257:
.L258:
	b .L254
.L260:
.L261:
.L262:
	b .L253
.L264:
	mov r0, #72
	bl putch
	b .L265
.L265:
	ldr r4, [fp, #-12]
	ldr r5, [fp, #-16]
	cmp r4, r5
	movge r4, #1
	movlt r4, #0
	bge .L280
	b .L285
.L266:
	ldr r4, [fp, #-16]
	ldr r5, [fp, #-20]
	cmp r4, r5
	movle r4, #1
	movgt r4, #0
	ble .L264
	b .L276
.L269:
.L270:
.L271:
	b .L266
.L274:
.L275:
.L276:
	b .L265
.L278:
	mov r0, #73
	bl putch
	b .L279
.L279:
	ldr r4, [fp, #-20]
	ldr r5, [fp, #-16]
	cmp r5, #0
	moveq r5, #1
	movne r5, #0
	mov r6, r5
	cmp r4, r6
	beq .L295
	b .L304
.L280:
	ldr r4, [fp, #-4]
	ldr r5, [fp, #-8]
	cmp r4, r5
	bne .L278
	b .L290
.L283:
.L284:
.L285:
	b .L279
.L288:
.L289:
.L290:
	b .L279
.L292:
	mov r0, #74
	bl putch
	b .L293
.L293:
	ldr r4, [fp, #-20]
	ldr r5, [fp, #-16]
	cmp r5, #0
	moveq r5, #1
	movne r5, #0
	mov r6, r5
	cmp r4, r6
	beq .L316
	b .L327
.L294:
	ldr r4, [fp, #-4]
	ldr r5, [fp, #-4]
	cmp r4, r5
	movge r4, #1
	movlt r4, #0
	bge .L292
	b .L314
.L295:
	ldr r4, [fp, #-8]
	ldr r5, [fp, #-8]
	cmp r4, r5
	movlt r4, #1
	movge r4, #0
	blt .L292
	b .L309
.L302:
.L303:
.L304:
	b .L294
.L307:
.L308:
.L309:
	b .L294
.L312:
.L313:
.L314:
	b .L293
.L316:
	mov r0, #75
	bl putch
	b .L317
.L317:
	mov r0, #10
	bl putch
	mov r0, #0
	add sp, sp, #24
	pop {r4, r5, r6, r7, fp, lr}
	bx lr
.L318:
	ldr r4, [fp, #-8]
	ldr r5, [fp, #-8]
	cmp r4, r5
	movlt r4, #1
	movge r4, #0
	blt .L328
	b .L333
.L325:
.L326:
.L327:
	b .L318
.L328:
	ldr r4, [fp, #-4]
	ldr r5, [fp, #-4]
	cmp r4, r5
	movge r4, #1
	movlt r4, #0
	bge .L316
	b .L338
.L331:
.L332:
.L333:
	b .L317
.L336:
.L337:
.L338:
	b .L317

addr_a0:
	.word a
addr_b0:
	.word b
addr_d0:
	.word d
